<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
	  xmlns:f="http://java.sun.com/jsf/core" 
	  xmlns:h="http://java.sun.com/jsf/html"
	  xmlns:ui="http://java.sun.com/jsf/facelets"
	  xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>AGREGAR PROGRAMA</title>
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/css/default.css" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/themes/#{preferencias.tema}/skin.css" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/syntaxhighlighter/styles/syntaxhighlighter.css" />
</h:head>
<body bgcolor="black">
		<div align="center">
			<h:panelGrid columns="1">
				<h:form id="programa" prependId="false">
					<div align="center">
						<br />
						<h1><h:outputText value="AGREGAR PROGRAMA" style="color: red" /></h1>
						<br />
					</div>	
					<p:panel id="panel" header="Nuevo Programa" style="margin-bottom:10px;">
						<p:messages /> 
						<div align = "center">
							<h:panelGrid columns="3" >
								<h:outputText value="Nombre :"  style="color: black"/>
								<h:inputText id="nombre" style="color: black" value="#{programaBean.programa.nombre}" required="true" requiredMessage = "Indique el nombre del programa" rendered="#{programaBean.accion == 'registrar'}"> 
									<f:validateLength minimum="2" maximum="50" />
								</h:inputText>
								<h:inputText id="nombreLeer" style="color: black" value="#{programaBean.programa.nombre}" required="true" requiredMessage = "Indique el nombre del programa" readonly="true" rendered="#{programaBean.accion != 'registrar'}"> 
									<f:validateLength minimum="2" maximum="50" />
								</h:inputText>
								<p:message for="nombre" />
							</h:panelGrid>
							<h:panelGrid columns="2" >
								<h:outputText value="Acreditado :"  style="color: black"/>
								<h:selectOneRadio id="acreditado" value="#{programaBean.programa.acreditado}" style="color: black" rendered="#{programaBean.accion != 'cambiarDecano'}" >
									<f:selectItem itemValue="true" itemLabel="Si"  />
									<f:selectItem itemValue="false" itemLabel="No " />
									<f:converter converterId="javax.faces.Boolean"/>
								</h:selectOneRadio>	
								<h:selectOneRadio id="acreditadoLeer" value="#{programaBean.programa.acreditado}" style="color: black" readonly="true" rendered="#{programaBean.accion == 'cambiarDecano'}" >
									<f:selectItem itemValue="true" itemLabel="Si"  />
									<f:selectItem itemValue="false" itemLabel="No " />
									<f:converter converterId="javax.faces.Boolean"/>
								</h:selectOneRadio>	
							</h:panelGrid>
							<h:outputText value="Fecha de fundacion :  "  style="color: black"/>
							<p:calendar id="fechaDeFundacion" required="true" requiredMessage = "Indique la fecha de fundacion" value="#{programaBean.programa.fechaDeFundacion}" rendered="#{programaBean.accion != 'cambiarDecano'}"/>
							<p:calendar id="fechaDeFundacionLeer" required="true" readonly="true" value="#{programaBean.programa.fechaDeFundacion}" rendered="#{programaBean.accion == 'cambiarDecano'}"/>
							<p:message for="fechaDeFundacion" />
						</div>
						<br /><br />	
						<div align = "center">
							<h:outputText value="Ingrese los datos del decano de este programa" style="color: black" />
						</div>
						<br />
						<div align = "center">
							<h:panelGrid columns="3">
								<h:outputText value="Cedula:" style="color: black" partialSubmit="true"/>
								<h:inputText id="cedula" value="#{programaBean.decano.cedula}" required="true" rendered="#{programaBean.accion != 'actualizar'}" requiredMessage = "Ingrese la cedula del decano"  >
									<f:validateLongRange minimum="1"/> 
								</h:inputText>
								<h:inputText id="cedulaLeer" value="#{programaBean.decano.cedula}" required="true" readonly="true" rendered="#{programaBean.accion == 'actualizar'}" >
									<f:validateLongRange minimum="1"/> 
								</h:inputText>
								<p:message for="cedula" />
								
								<h:outputText value="Nombre:" style="color: black"/> 
								<h:inputText id="nombreyApellido" value="#{programaBean.decano.nombreyApellido}" required="true" requiredMessage = "Ingrese el nombre completo del decano"> 
									<f:validateLength minimum="2" maximum="50" /> 
								</h:inputText>
								<p:message for="nombreyApellido" />
								
								<h:outputText value="Contrasenia:" style="color: black"/>
								<h:inputSecret id="contrasenia" value="#{programaBean.decano.contrasenia}" required="true" requiredMessage = "Ingrese la contresenia del decano" >
								</h:inputSecret>
								<p:message for="contrasenia" />
								
								<h:outputText value="Edad:" style="color: black"/>
								<h:inputText id="edad" value="#{programaBean.decano.edad}" required="true"  requiredMessage = "Ingrese la edad del decano ( entre 15 y 80 )">
									<f:validateDoubleRange minimum="15" maximum="80" />
								</h:inputText>
								<p:message for="edad" />
								
								<h:outputText value="Telefono:" style="color: black"/>
								<h:inputText id="telefono" value="#{programaBean.decano.telefono}" required="true" requiredMessage = "Ingrese el telefono del decano" >
								</h:inputText>
								<p:message for="telefono" />
								
								<h:outputText value="Correo:" style="color: black"/>
								<h:inputText id="correo" value="#{programaBean.decano.correo}" required="true" requiredMessage = "Ingrese el correo del decano">
								</h:inputText>
								<p:message for="correo" />
								
								<h:outputText value="Genero:" style="color: black"/>
								<h:selectOneMenu value ="#{programaBean.decano.genero}">
									<f:selectItem itemValue="Masculino" />
									<f:selectItem itemValue="Femenino" />
								</h:selectOneMenu>
								
							</h:panelGrid>
							<br />
							<p:commandButton value="Adicionar" update="programa fdatos"
								actionListener="#{programaBean.adicionarPrograma}" style="margin-right:20px;" rendered="#{programaBean.accion == 'registrar'}"/>
							<p:commandButton value="Actualizar" update="programa fdatos"
								actionListener="#{programaBean.actualizarProgramaDeBD}" style="margin-right:20px;" rendered="#{programaBean.accion == 'actualizar'}"/>
							<p:commandButton value="Cambiar de decano" update="programa fdatos"
								actionListener="#{programaBean.cambiarDecanoDeBD}" style="margin-right:20px;" rendered="#{programaBean.accion == 'cambiarDecano'}"/>
							<p:commandButton value="Cancelar" update="programa fdatos"
								actionListener="#{programaBean.cancelar}" style="margin-right:20px;" rendered="#{programaBean.accion != 'registrar'}"/>
						</div>
					</p:panel>
				</h:form>
			</h:panelGrid>
		</div>
		<div align="center">
			<br />
			<h1><h:outputText value="PROGRAMAS EXISTENTES EN LA BASE DE DATOS" style="color: red" /></h1>
			<br />
		</div>
		<div align="center">
			<h:panelGrid columns="1">
				<h:form id="fdatos" prependId="false">
					<p:dataTable id="tabla" value="#{programaBean.programas}" var="programa" paginator="true" rows="5" emptyMessage="No hay programas registrados">
						<p:column filterBy="#{programa.nombre}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header">
								<h:outputText value="Nombre" />
							</f:facet>
							<h:outputText value="#{programa.nombre}" />
						</p:column>
						<p:column filterBy="#{programa.acreditado}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header">
								<h:outputText value="Acreditado" ><f:converter converterId="javax.faces.Boolean"/></h:outputText>
							</f:facet>
							<h:outputText value="#{programa.acreditado}"/>
						</p:column>
						<p:column filterBy="#{programa.fechaDeFundacion}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header">
								<h:outputText value="Fecha de fundacion" />
							</f:facet>
							<h:outputText value="#{programa.fechaDeFundacion}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</p:column>
						<p:column filterBy="#{programa.decano.cedula}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header">
								<h:outputText value="Cedula del decano" />
							</f:facet>
							<h:outputText value="#{programa.decano.cedula}"/>
						</p:column>
						<p:column filterBy="#{programa.decano.nombreyApellido}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header">
								<h:outputText value="Nombre del decano" />
							</f:facet>
							<h:outputText value="#{programa.decano.nombreyApellido}"/>
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Eliminar" /></f:facet>
							<p:commandButton update="display" oncomplete="dialogoEliminar.show()" image="ui-icon ui-icon-trash">
								<f:setPropertyActionListener value="#{programa}" target="#{programaBean.programa}" />
							</p:commandButton>
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Actualizar" /></f:facet>
							<p:commandButton update="programa" image="ui-icon ui-icon-refresh">
								<f:setPropertyActionListener value="actualizar"	target="#{programaBean.accion}" />
								<f:setPropertyActionListener value="#{programa}"	target="#{programaBean.programa}" />
								<f:setPropertyActionListener value="#{programa.decano}"	target="#{programaBean.decano}" />
							</p:commandButton>
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Cambiar decano" /></f:facet>
							<p:commandButton update="programa" image="ui-icon ui-icon-refresh">
								<f:setPropertyActionListener value="cambiarDecano"	target="#{programaBean.accion}" />
								<f:setPropertyActionListener value="#{programa}"	target="#{programaBean.programa}" />
								<f:setPropertyActionListener value="#{programa.decano}"	target="#{programaBean.decanoAEliminar}" />
								<f:setPropertyActionListener value="#{programa.decano}"	target="#{programaBean.decano}" />
							</p:commandButton>
						</p:column>
					</p:dataTable>
					
					<div align="center">
						<p:panel id="panelExportacion" header="Exportacion" style="margin-bottom:10px;">
							<div align="center">
								<h:panelGrid columns="5">
									<h:outputText value="Exportar datos de la tabla:" style="color: black" />
									<h:commandLink>
										<p:graphicImage value="/images/pdf.png" />
										<p:dataExporter type="pdf" target="tabla" fileName="programas" />
									</h:commandLink>
									<h:commandLink>
										<p:graphicImage value="/images/excel.png" />
										<p:dataExporter type="xls" target="tabla" fileName="programas" />
									</h:commandLink>
									 <h:commandLink>  
							            <p:graphicImage value="/images/csv.png" />  
							            <p:dataExporter type="csv" target="tabla" fileName="programas" />  
							        </h:commandLink>  
							        <h:commandLink>  
							            <p:graphicImage value="/images/xml.png" />  
							            <p:dataExporter type="xml" target="tabla" fileName="programas" />  
							        </h:commandLink> 
								</h:panelGrid>
							</div>
						</p:panel>
					</div>
					
					<p:dialog header="programa" widgetVar="dialogoEliminar"
						resizable="false" width="300" showEffect="explode"
						hideEffect="explode" modal="true">
						<h:panelGrid id="display" columns="2" cellpadding="4">
							<h:outputText value="Nombre:" />
							<h:outputText value="#{programaBean.programa.nombre}" />
							<h:outputText value="Acreditado:" />
							<h:outputText value="#{programaBean.programa.acreditado}" />
							<h:outputText value="Fecha de fundacion:" />
							<h:outputText value="#{programaBean.programa.fechaDeFundacion}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
							<h:outputText value="Cedula del decano:" />
							<h:outputText value="#{programaBean.programa.decano.cedula}" />
							<h:outputText value="Nombre del decano:" />
							<h:outputText value="#{programaBean.programa.decano.nombreyApellido}" />
							<p:commandButton update="fdatos programa" actionListener="#{programaBean.eliminarProgramaDeBD}"
								image="ui-icon ui-icon-trash" oncomplete="dialogoEliminar.hide()" value="Eliminar">
								<f:setPropertyActionListener value="#{programa}" target="#{programaBean.programa}" />
							</p:commandButton>
							<p:commandButton oncomplete="dialogoEliminar.hide()" image="ui-icon ui-icon-cancel" value="Cancelar">
							</p:commandButton>
						</h:panelGrid>
					</p:dialog>
				</h:form>
			</h:panelGrid>
		</div>	
		<h:form>
		<br/><br/>
			<div align="center">
				<h:commandButton value="Volver a menu principal" action="/Paginas/paginasIniciales/paginaInicioAdministrativo.xhtml" style="margin-right:40px;" />
			</div>
		<br/><br/>
		</h:form>
	</body>
</html>